using System;

namespace NUnit.Behave
{
	public class Story : NarrativeConjunction
    {
        private As_A_Conjunction as_A_Conjunction;


        /// <summary>
		/// A story should be the product of a conversation involving several people. 
		/// Resulting in some type of busines functionality.
        /// </summary>
        /// <param name="title">One line describing the story</param>
		public Story(string title):base(title)
        {
            WriteConsoleMessage(MessageType.Story_Title);
        }

		public string Title
        {
            get { return message; }
        }

        /// <summary>
        /// This is the role of a user or system that are taking advantage of this business functionality.
        /// </summary>
        /// <param name="roleOfUser">Role of User/System</param>
        /// <returns>A conjunction exposing the method \"I Want\".</returns>
		public As_A_Conjunction As_a(string roleOfUser)
        {
            as_A_Conjunction = new As_A_Conjunction(roleOfUser);

            return as_A_Conjunction;
        }

        public override void RenderTo(IMessageProvider messageProvider)
        {
            messageProvider.AddMessage(MessageType.Story_Title, message);
            as_A_Conjunction.RenderTo(messageProvider);
            
        }
    }

}